/**
 * 对话记录的类型定义
 */

// 对话记录的基本结构
export interface Conversation {
    id: string;           // 对话ID，格式为CONV-XXX
    datetime: string;     // 创建日期时间
    topic: string;        // 对话主题
    keywords: string[];   // 关键词列表
    summary: string;      // 对话摘要
    actions: string[];    // 行动项列表
    files: string[];      // 相关文件路径
    status: string;       // 对话状态
    content?: string;     // 对话详细内容（可选）
}

// 对话搜索参数
export interface SearchParams {
    id?: string;          // 按ID搜索
    topic?: string;       // 按主题搜索
    keywords?: string[];  // 按关键词搜索
    status?: string;      // 按状态搜索
    date?: string;        // 按日期搜索
    limit?: number;       // 结果数量限制
}

// 对话统计信息
export interface ConversationStats {
    totalCount: number;                // 总对话数
    statusCounts: Record<string, number>; // 按状态统计
    recentConversations: Conversation[];  // 最近的对话
    topKeywords: Array<{ keyword: string, count: number }>; // 常用关键词
}

// 数据库操作结果
export interface DbResult {
    success: boolean;
    message?: string;
    data?: any;
}

// 对话记录添加参数
export interface AddConversationParams {
    topic: string;
    keywords: string | string[];
    summary: string;
    actions: string | string[];
    files?: string | string[];
    status: string;
    content?: string;
}

// 对话记录更新参数
export interface UpdateConversationParams {
    id: string;
    topic?: string;
    keywords?: string | string[];
    summary?: string;
    actions?: string | string[];
    files?: string | string[];
    status?: string;
    content?: string;
}